document
		.write("<script language=\"javascript\" src=\"js_src/useradmin.js\"></script>");
document
		.write("<script language=\"javascript\" src=\"js_src/fileadmin.js\"></script>");
// search对象
var search = {
	query : function query(container, jsonObject, type) {
		var jsonString = Ext.JSON.encode(jsonObject);
		show_grid_panel(container, 'SearchAdmin', {
			conditions : jsonString,
			type : type,
			option : 'columnInfo'
		}, "GET", 'SearchAdmin?option=content&conditions=' + jsonString
				+ '&type=' + type, "GET");
	},
}

// 显示查询信息的gridPanel
var show_grid_panel = function(container, columnUrl, param, columnMethod,
		infoUrl, infoMethod, text) {
	container.removeAll(true);
	// 发送Ajax请求
	Ext.Ajax
			.request({
				url : columnUrl,
				params : param,
				method : columnMethod,
				success : function(response) {
					var jsonObject = Ext.JSON.decode(response.responseText);

					// 生成各个列的名称和类型
					var columns = [];
					var fields = [];
					for ( var i in jsonObject) {
						// 列的名称
						var column = {
							text : jsonObject[i]['columnName'],
							dataIndex : jsonObject[i]['columnName'],
						};
						columns[i] = column;
						// 列的类型
						var columnType = {
							name : jsonObject[i]["columnName"],
							type : jsonObject[i]["type"],
						};
						fields[i] = columnType;
					}

					// 生成gridPanel的store
					var mystore = Ext.create('Ext.data.Store', {
						storeId : 'search_store',
						fields : fields,
						autoLoad : false,
						pageSize : 20,
						proxy : {
							type : 'ajax',
							actionMethods : {
								read : infoMethod,
							},
							url : infoUrl,
							reader : {
								type : 'json',
								root : 'rows',
								totalProperty : 'totalProperty',
							}
						}
					});

					// 生成分页控件
					var page = new Ext.PagingToolbar({
						store : mystore,
						displayInfo : true,
						displayMsg : '向下查询更多...',
						// 重写以下函数，把向前翻的功能关了，
						setChildDisabled : function(selector, disabled) {
							this.child('#first').setDisabled(true);
							this.child('#prev').setDisabled(true);
							var item = this.child(selector);
							if (item) {
								item.setDisabled(disabled);
							}
						}
					});

					// 工具条
					var tbar = new Ext.Toolbar(
							{
								height : 40,
								style : 'padding:10px 10px 0px 10px;border-top:0px;border-right:0px;border-left:0px',
								items : [
										{
											text : "清空用户流量使用",
											iconCls : "statistic_button",
											handler : function() {
												Ext.Msg
														.confirm(
																'系统提示',
																'这一操作将会将用户每月使用的流量归0，一般在每月初使用（注意：这一操作需要将消息队列处理线程关闭，否则会造成数据不一致的问题），确定进行这一操作吗？',
																function(btn) {
																	if (btn == "yes") {
																		Ext.Ajax
																				.request({
																					url : 'userstatistics',
																					params : {
																						adminOpt : 'clear_used_flow',
																					},
																					success : function(
																							response) {
																						if (response.responseText == "success") {
																							Ext.Msg
																									.alert(
																											'系统提示',
																											'流量清0操作成功');
																						}
																					}
																				});
																	} else {
																		return;
																	}
																});
											}
										},
										{
											text : "用户统计",
											iconCls : "statistic_button",
											handler : function() {
												userAdmin.show_user_admin();
											}
										},
										{
											text : "文件统计",
											iconCls : "statistic_button",
											handler : function() {
												fileAdmin.show_file_admin();
											}
										},
										{
											text : '用户行为分析',
											iconCls : "statistic_button",
											handler : function() {
												var url = 'charts.jsp';
												var windowStatus = 'width=800,height=800,menubar=no,toolbar=no,location=no,directories=no,status=no,scrollbars=yes,resizable=yes';
												window.open(url, "charts",
														windowStatus);
											}
										},
										{
											text : '注册用户分布',
											iconCls : "statistic_button",
											handler : function() {
												var url = "registerUserMap.jsp";
												var windowStatus = 'width=800,height=800,menubar=no,toolbar=no,location=no,directories=no,status=no,scrollbars=yes,resizable=yes';
												window.open(url, "charts",
														windowStatus);
											}
										},
										{
											text : '每日新增用户查询',
											iconCls : "statistic_button",
											handler : function() {
												var url = "registerStatistic.jsp";
												window.open(url);
											}
										},
										{
											text : '用户反馈统计',
											iconCls : "statistic_button",
											handler : function() {
												var url = "userfeedback.jsp";
												window.open(url);
											}
										},
										{
											text : '活跃用户分布',
											iconCls : "statistic_button",
											handler : function() {
												var mWindow = new Ext.Window(
														{
															title : "活跃用户查询",
															width : 500,
															height : 500,
															layout : "border",
															minimizable : true,
															maxmizable : true,
															frame : true,
															constrain : true,
															modal : true,
															resizable : false,
															plain : true,
															items : [ new Ext.Panel(
																	{
																		title : "日期段选择",
																		width : 400,
																		region : "center",
																		bodyStyle : 'padding:6px 0px 0px 15px',
																		items : [
																				{
																					xtype : 'datefield',
																					fieldLabel : '开始日期',
																					name : 'active_user_begin_date',
																					id : 'active_user_begin_date',
																					anchor : '100%',
																					format : 'Y-m-d H:i:s',
																					maxValue : new Date(),
																					value : new Date(),
																					padding : '10 5 3 10',
																					width : 250,
																					labelWidth : 70,
																					height : 20,
																				},
																				{
																					xtype : 'datefield',
																					fieldLabel : '截止日期',
																					name : 'active_user_end_date',
																					id : 'active_user_end_date',
																					anchor : '100%',
																					format : 'Y-m-d H:i:s',
																					maxValue : new Date(),
																					value : new Date(),
																					padding : '10 5 3 10',
																					width : 250,
																					labelWidth : 70,
																					height : 20,
																				} ],
																		closeAction : 'hide',
																	}) ],
															buttonAlign : "center",
															buttons : [ {
																text : '查询',
																handler : function() {
																	var begin = Ext
																			.getCmp(
																					'active_user_begin_date')
																			.getValue();
																	var end = Ext
																			.getCmp(
																					'active_user_end_date')
																			.getValue();
																	if (begin > end) {
																		alert("开始日期不能大于截止日期");
																		return;
																	}
																	begin = Ext.Date
																			.format(
																					new Date(
																							begin),
																					'Y-m-d');
																	end = Ext.Date
																			.format(
																					new Date(
																							end),
																					'Y-m-d');
																	var url = "activeUserMap.jsp?begin="
																			+ begin
																			+ "&end="
																			+ end;
																	var windowStatus = 'width=800,height=800,menubar=no,toolbar=no,location=no,directories=no,status=no,scrollbars=yes,resizable=yes';
																	window
																			.open(
																					url,
																					"charts",
																					windowStatus);
																}
															} ],
														});
												mWindow.show();
											}
										},
										{
											text : '导出Excel',
											iconCls : "statistic_button",
											handler : function() {
												var url = "exportExcel.jsp?text="
														+ text;
												window.open(url);
											}
										}, ],
							});

					// 表格
					var gridPanel = new Ext.grid.Panel({
						xtype : "grid",
						width : '100%',
						height : '100%',
						viewConfig : {
							enableTextSelection : true
						},
						columnLines : true,
						columns : columns,
						layout : 'fit',
						forceFit : true,
						store : mystore,
						autoScroll : true,
						bbar : page,
						tbar : tbar,
						listeners : {
							'celldblclick' : function(table, td, cellIndex,
									record, tr, rowIndex, e, eOpts) {
								var record = mystore.getAt(rowIndex);
								var s = "";
								for ( var i in record.data) {
									s += i + ": " + record.data[i] + "\n";
								}
								Ext.Msg.alert('详细信息查看', s);
							}
						}
					});
					mystore.load({
						params : {
							start : 0,
							limit : 20
						}
					});
					container.add(gridPanel);
				}
			});
}